/**
 * 路由生成器
 * @param title - 标题
 * @param name - 名称
 * @param path - 地址
 * @param component - 组件
 * @param children - 子集
 * @param keepAlive - 是否缓存
 * @param isMenu - 是否菜单
 * @param isLeaf - 是否叶子路由
 * */
let routerGenerator = function (title, name, path, component, children, keepAlive, isMenu, isLeaf) {

    return {
        name,
        path,
        component,
        children,
        meta: {
            title,
            isMenu,
            isLeaf,
            keepAlive
        }
    }
}


export default {
    /**
     * 根路由生成器
     * @param title - 标题
     * @param name - 名称
     * @param path - 地址
     * @param component - 组件
     * @param children - 子集
     * */
    root: function (title, name, path, component, children) {

        return routerGenerator(title, name, path, component, children, false, false, false);
    },
    /**
     * 菜单根路由生成器
     * @param title - 标题
     * @param name - 名称
     * @param path - 地址
     * @param children - 子集
     * */
    menuRoot: function (title, name, path, component, children) {

        return routerGenerator(title, name, path, component, children, false, true, false);
    },
    /**
     * 叶子路由生成器
     * @param title - 标题
     * @param name - 名称
     * @param path - 地址
     * @param component - 组件
     * */
    leaf: function (title, name, path, component) {

        return routerGenerator(title, name, path, component, [], true, false, true);
    },
    /**
     * 菜单叶子路由生成器
     * @param title - 标题
     * @param name - 名称
     * @param path - 地址
     * @param component - 组件
     * */
    menuLeaf: function (title, name, path, component) {

        return routerGenerator(title, name, path, component, [], true, true, true);
    }
}